// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()
const userCollection = db.collection('users')

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const openId = wxContext.OPENID
  
  if (!openId) {
    return {
      isLogin: false,
      message: '未获取到用户OpenID'
    }
  }
  
  try {
    // 查询用户是否已存在
    const userRes = await userCollection.where({
      openId: openId
    }).get()
    
    if (userRes.data && userRes.data.length > 0) {
      // 用户已存在，返回用户信息
      const userInfo = userRes.data[0]
      
      // 更新用户最后登录时间
      await userCollection.doc(userInfo._id).update({
        data: {
          lastLoginTime: db.serverDate()
        }
      })
      
      return {
        isLogin: true,
        userInfo: {
          ...userInfo,
          _id: userInfo._id.toString() // 转换为字符串便于前端使用
        }
      }
    } else {
      // 用户不存在
      return {
        isLogin: false,
        message: '用户未注册'
      }
    }
  } catch (err) {
    console.error('检查登录状态失败', err)
    return {
      isLogin: false,
      message: '检查登录状态失败',
      error: err
    }
  }
} 